In a digital transmission network, data from a large number of users are serially transmitted from one network node to another network node, up to their respective final destinations. Due to the evolution of networks towards more and more complex mixing of sub-networks with heterogeneous architectures, it is clear that there is a future requirement to support distributed computing applications across high speed backbones that may be carrying LAN traffic, voice, video and traffic among channel-attached hosts and workstations. Perhaps the fundamental challenge for high speed networking is to minimize the processing time within each node in the network.
Packet switching is now commonly used to accommodate the bursty, multiprocess communication found in distributed computing environments. Packets are pieces of data produced by an originating user, which are prefixed with headers containing routing information that identifies the originating and destination users. Small computers, called packet switches or nodes are linked to form a network. Some of these nodes are called end nodes and provide user access to the network. Adapter circuits at each of the switching nodes adapt the packet signals for transmission or delivery to transmission links and user applications, respectively. Each node examines each header and decides where to send the packet to move it closer to its final destination.
Routing protocols or methods are used to control the routing of the packets from node to node through the transmission system. Automatic Network Routing (ANR) uses a concatenation of linked labels or identifiers for the successive legs of the packet switching route. Labels are stripped away as the packets traverses the network, always leaving the next required label at the head of the routing field. Tree Routing is defined as a connected set of network nodes and links. In such a tree, a unique tree address is used in the routing field of the packet header and the same tree address is associated with every link forming the tree. When a multicast packet reaches a packet switching node, the tree address in the packet is compared to the tree address associated with all outgoing links from the node. The packet then may be propagated from the node to one or a plurality of links for which an address match occurs. Label Swapping uses a routing field which includes a label that is looked up in a connection table maintained in each intermediate node. The connection table gives the appropriate outbound link number and also gives a new label that will be used by the next node in the route. The new label is swapped for the old label and the packet is forwarded on the appropriate outbound link.
One of the advantages of traditional packet switching networks (X25) is that when they cannot accept new traffic they produce variations in delay resulting from storing and forwarding packets, whereby traffic is not refused, but only momentarily delayed. Another advantage of packet switching networks is their ability to match different speeds of transmission, thereby allowing different types of computer systems to communicate.
Common packet switching networks use packet headers having a fixed format which means that there are a limited number of bits reserved for future functions. Therefore, if one wishes to provide for new functions, such as address extension, new routing mode, in-band specific protocol, the only solution is to set aside reserved bits and this has as consequence to ultimately use up all the reserved bits of the header.